Systems and methods for assessing standards for mobile image quality

ABSTRACT

Methods and systems are provided for defining and determining a formal and verifiable mobile document image quality and usability (MDIQU) standard, or Standard for short. The Standard ensures that a mobile image can be used in an appropriate mobile document processing application, for example an application for mobile check deposit. In order to quantify the usability, the Standard establishes 5 quality and usability grades. A mobile image capture device can capture images. A mobile device can receive information associated with one or more image quality assurance (IQA) criteria; evaluating the images to select an image satisfying an image quality criteria based on the received information; and in response to the image satisfying the image quality score, sending the selected image to determine a set of image quality assurance (IQA) scores.

RELATED APPLICATIONS

The present application is a continuation of U.S. patent application Ser. No. 16/518,815, filed on Jul. 22, 2019, which is a continuation of U.S. patent application Ser. No. 15/721,160, filed on Sep. 29, 2017, which is a continuation of U.S. patent application Ser. No. 15/397,639, filed on Jan. 3, 2017, which is a continuation of U.S. patent application Ser. No. 14/217,170, filed on Mar. 17, 2014, which claims priority to U.S. Provisional Patent Application No. 61/802,039, filed on Mar. 15, 2013, which are all hereby incorporated herein by reference as if set forth in full.

BACKGROUND 1. Field of the Invention

The embodiments described herein relate to processing images captured using a mobile device, and more particularly to developing standards for processing the images and assessing an image processing system to determine whether it meets the standards.

2. Related Art

The use of mobile devices to capture images is ubiquitous in modern culture. Aside from taking pictures of people, places and events, users are utilizing the cameras on their devices for many different purposes. One of those purposes is capturing images of content that the user later wants to review, such as a description of a product, a document, license plate, etc.

Financial institutions and other businesses have become increasingly interested in electronic processing of checks and other financial documents in order to expedite processing of these documents. Some techniques allow users to scan a copy of the document using a scanner or copier to create an electronic copy of the document that can be digitally processed to extract content. This provides added convenience over the use of a hardcopy original, which would otherwise need to be physically sent or presented to the recipient for processing. For example, some banks can process digital images of checks and extract check information from the image needed to process the check for payment and deposit without requiring that the physical check be routed throughout the bank for processing.

Mobile devices that incorporate cameras are ubiquitous and may also be useful to capture images of financial documents for mobile processing of financial information. The mobile device may be connected with a financial institution or business through a mobile network connection. However, the process of capturing and uploading images of financial documents using the mobile device is often prone to error, producing images of poor quality which cannot be used to extract data. The user is often unaware of whether the captured document image is sufficient and capable for processing by a business or financial institution.

Attempts have been made to improve the quality of mobile images of financial documents to improve the accuracy of information extracted therefrom. There are numerous ways in which an image can be improved for extracting its content, some of which are implemented individually and some of which are implemented together. However, it is difficult to determine which methods are the best at improving image quality and content extraction. Of the methods often used, it is even more difficult to select a threshold of that particular method which will provide an accurate capture in as little time as possible. Finally, determining whether an image processing system is capable of performing adequate image capture, processing and content extraction has not been explored.

Therefore, there is a need for identifying image processing techniques which will provide optimal image correction and accurate content extraction.

SUMMARY

Embodiments described herein provide methods for defining and determining a formal and verifiable mobile document image quality and usability (MDIQU) standard, or Standard for short. The goal of this Standard is to ensure that a mobile image can be used in an appropriate mobile document processing application, for example an application for mobile check deposit, mobile bill pay, mobile balance transfer or mobile insurance submission and application. In order to quantify the usability, the Standard establishes 5 quality and usability grades: the higher grade images will tend to produce higher accuracy results in the related “mobile” application. A mobile image is first tested to determine if the quality is sufficient to obtain content from the image by performing multiple different image quality assessment tests. If the image quality is sufficient, one or more document usability computations are made to determine if the document or content in the image is usable by a particular application. A ranking is then assigned to the image based on the results of the tests which is indicative of the quality and usability of the image.

Systems and methods are provided for developing standards of image processing for mobile image capture and assessing whether mobile processing engines meet the standards. A mobile processing engine (MDE) is evaluated to determine if it can perform one or more technical capabilities for improving the quality of and extracting content from an image of a financial document (such as a check). A verification process then begins, where the MDE performs the image quality enhancements and text extraction steps on sets of images from a test deck of good and bad images of financial documents with known content. The results of the processing of the test deck are then evaluated by comparing confidence levels with thresholds to determine if each set of images should be accepted or rejected. Further analysis determines whether any of the sets of images were falsely accepted or rejected, and an overall error rate is computed. The overall error rate is then compared with minimum accuracy criteria, and if the criteria are met, the MDE meets the standard for mobile deposit

The goal of this Standard is to ensure that a mobile image can be used in an appropriate mobile document processing application, primarily Mobile Deposit [1], Mobile Bill Pay [2], Mobile Balance Transfer [3] and Mobile Insurance [4] . . . .

Other features and advantages should become apparent from the following description of the preferred embodiments, taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments disclosed herein are described in detail with reference to the following figures. The drawings are provided for purposes of illustration only and merely depict typical or exemplary embodiments. These drawings are provided to facilitate the reader's understanding and shall not be considered limiting of the breadth, scope, or applicability of the embodiments. It should be noted that for clarity and ease of illustration these drawings are not necessarily made to scale.

FIG. 1 illustrates a method of assessing, grading and ranking an image to determine an image quality and an image usability, according to one embodiment of the invention.

FIG. 2 illustrates a system for assessing, grading and ranking the image utilizing a mobile image capture device and image server, according to one embodiment of the invention.

FIG. 3 is an image illustrating an example of an out-of-focus (OOF) image identified during an OOF image quality test, according to one embodiment of the invention.

FIGS. 4A and 4B are images of plain skew and view skew images, respectively, identified during a skew image quality test, according to one embodiment of the invention.

FIGS. 5A and 5B are images of a low contrast image and poor darkness image, respectively, identified during a low internal contrast image quality test, according to one embodiment of the invention.

FIG. 6A is an image of a document where the corners are cut off, as would be identified during a cut corner image quality test, according to one embodiment of the invention.

FIG. 6B is an image of a warped document which would be identified during a warpage image quality test, according to one embodiment of the invention.

FIG. 7 is a block diagram that illustrates an embodiment of a computer/server system upon which an embodiment of the inventive methodology may be implemented

The various embodiments mentioned above are described in further detail with reference to the aforementioned figured and the following detailed description of exemplary embodiments.

DETAILED DESCRIPTION

I. Summary of Mobile Deposit Standards

Embodiments described herein define formal and verifiable mobile document image quality and usability (MDIQU) standard, of Standard for short. The goal of this Standard is to ensure that a mobile image can be used in an appropriate mobile document processing application, primarily mobile check deposit, mobile bill pay, mobile balance transfer or mobile insurance submission and application, although this list is only illustrative of the types of images and documents which may take advantage of the methods.

In order to quantify the usability, the Standard establishes 5 quality and usability grades: the higher grade images will tend to produce higher accuracy results in the related “mobile” application. The standards for various mobile document processing applications may use the ranking system established by this invention in order to define the various accuracy levels. For example, a mobile deposit standard may require MICR accuracy of 99% on mobile images of checks which are Grade 1 (the highest) according to this Standard, 97% on Grade 2 mobile images etc. The lowest grade (or 2 lowest grades, depending on application preferences) defines unusable images for which no meaningful prediction of accuracy could be made.

Given an application (e.g. Mobile Deposit) and a mobile image, MDIQU answers two basic questions:

-   -   1. Does the mobile image have good image quality?     -   2. Does the image contain a document which is valid for the         particular application it's intended for (a valid US check in         case of MD)?

Moreover, if the image quality is characterized as bad, MDIQU will detect a particular quality defect.

The answer on the first question (Image Quality) doesn't depend on the type of document or application in question. All that MDIQU is supposed to verify is that a human would easily read the relevant data off the mobile image. For example, a good quality mobile image of a check must contain the entire check (all 4 corners), be high contrast/sharp with all the characters being legible. The same will apply to mobile images of a bills, driver's licenses etc.

The answer on the second question (Document Validity) is supposed to ensure that the document within the image is indeed a check, a bill, a driver's license etc. Therefore, the validity factor is defined for each application independently.

II. MDIQU System and Workflow

FIG. 1 illustrates a flowchart of a workflow for assessing mobile image quality standards, according to one embodiment of the invention. The steps may include:

100—accept mobile image under examination and an expected document type

200—compute individual IQA scores

300—output individual IQA scores

400—compute compound IQA scores (see Section 4)

450—output compound IQA scores

600—make decision if image quality is sufficient to proceed

700—if “No”, assign image the lowest rank and exit workflow (in this case, the document can't be even extracted from the image).

750—if “Yes,” receive document category and optionally set of critical fields

800—compute usability score from document category and critical fields

850—output document usability score

900—compares usability score to pre-defined threshold

1000—if score is low, assign Rank 3 of Rank 4, then exit.

1100—if score is high, assign Rank 1 of Rank 2, then exit.

One embodiment of an MDIQU system is illustrated in FIG. 2, where a mobile image capture device 102 with an image quality assurance database 104 is connected with an image server 106 with a document validity database 108. Thus, the mobile device 102 may perform one or more of the IQA steps based on information stored in the IQA DB 104 to determine an image quality score, after which the image (if sufficient) is sent to the image server for performing a document validity test using information stored in the document validity DB 108. An image with a sufficient quality and usability may then be transmitted to an application server 110 where an application will utilize the image and its content for a particular task. Although not illustrated herein, the system may also perform the IQA tests at the image server 106, and even perform the document usability tests at the mobile device 102.

III. Individual Mobile Image Quality Tests

In one embodiment, the MDIQU system performs the following image quality tests (Mobile IQA tests) to detect the following image deficiencies: Out-of-focus (OOF), Shadow, Small size, View Skew (perspective distortion), Plain Skew, Warped, Low Internal Contrast, Reflection, Cut Corners, Cut Sides, Busy Background and Low External Contrast. Each score should be returned on the scale of 0 to 1000, when 0 means “No defect” and 1000 means “Severe Defect”. Alternately, MDIQU system may detect absence of the defects, thus swapping 0 and 1000.

U.S. Pat. No. 8,582,862, issued Nov. 12, 2013, gives a description of the Mobile IQA tests and corresponding algorithms, and is herein incorporated by reference in its entirety. Below is a brief description of IQA tests along with their relative importance.

IQA Score Importance How it gets computed OOF High for all OOF is computed on grey-scale snippets of documents based on applications frequencies of high-contrast local areas. The more high-contrast areas is found, the higher score becomes (1000 means “absolutely sharp”) Shadowed High for “Shadowed” score is computed on grayscale snippets of MD, documents. The engine tries to break the entire snippet into 2 Medium areas of very different brightness. For each such representation otherwise (could be several), the engine takes into account the delta in brightness and the size of the “darker” area. If the delta is high enough and the size of “darker” area is close to 50%, a “perfect” shadow is registered, making the score = 0. 1000 means “no shadow” Reflection High for Thus IQA score was designed to detect glare on the image and Insurance, assign a numeric value to its size so that 0 would mean “no low glare”, and 1000 would mean “significant” glare otherwise Low Medium Firstly, the engine computes the brightness histogram using Internal grayscale snippet of the document. The histogram is a 256-values Contrast vector H[ ], where H[0] is the number of pixels with brightness 0 (absolutely black) . . . up to H[255] is the number of pixels with brightness 0 (absolutely white). Secondly, having computed the histogram H, the engine finds out where ⅓ of all pixels are located counting from 0 upwards (G1) and from 255 downwards (G2). Then weighted averages of brightness are computed for [0, G1] and [G2, 255], which could be considered average “darkness” (D) and average “lightness” (L) of the snippet respectively. The difference L − D describes the contrast. After proper normalization, 0 means very poor contrast and 1000 means very high contrast Darkness Medium The goal of this score is to ensure that the image is not too dark.. Firstly, the engine computes the brightness histogram using grayscale snippet of the document as explained above. Then a weighted average grayscale value (G) is computed. After proper normalization G = 255 is translated into 1000 (document is pure white), G = 0 is translated into 0 (absolutely black) Plain Low This IQA reflects 2D skew of the document (no skew means the Skew document's sides are parallel to the image sides). After normalization, 1000 means 0 degrees skew while 0 means 45 degrees (45 degrees is the maximum: further 2D rotation will mean that the document changed orientation). The importance of detection view skew is low as Moobile SDK handles hight degree of 2D skew nicely. View Mid This IQA reflects 3D (view) angle between the camera and the Skew document No view angle means that the camera view is perpendicular to the the document surface. When the view angle becomes significant, the document becomes perspectively distorted. After normalization, 1000 means 0 degrees skew while 0 means 22 degrees, Cut High This IQA reflects presence of all four corners of the document Corners within the mobile image. The engine finds out if a corner is (side) located outside of the image as part of the automatic framing/cropping process. Depending on how big is the missing (cut-off) part of the corner, the engine computes a penalty per corner. Zero penalty means that the corner resides inside the image, maximum penalty is assigned when at least 25% (by area) of the image quadrant related to this corner is cut-off. Then maximum of 4 penalties computed for all for corners becomes the overall cut-corner penalty. After normalization, 1000 means that no penalty was computed for all corners; 0 means that at least 1 (unspecified) corner was penalized by max. penalty (see above) Small Low This score is computed by comparing the document snippet size Image against the mobile image size (the latter becomes known after cropping). When the camera moves away from the document, the snippet becomes smaller, thus causing low values of this IQA metric. After normalization, the score of 1000 means that the document occupies at least ⅓^(rd) of the entire mobile image area, while 0 means that it occupies less than ⅙^(th) of the entire mobile image area. The importance of detection Small Image is low as Moobile SDK handles even small images quite nicely. Warpage None for The score is computed as a measure of how flat the document is. DLs, The way to compute that is to measure how far the snippet sides Medium deviate from ideal straight lines. To normalize such deviation, its otherwise maximum value along side is divided by the perpendicular side's length. For example, to compute “flatness” along the upper horizontal side of the document, the largest deviation (in pixels) is divided by the document snippet height. In the end, the largest normalized deviation is taken, and then further normalized to become IQA: if the document is absolutely flat, the score becomes 1000; the deviation of 25% and more becomes 0. Low High for There is insufficient contrast between the document and the External DLs, background (making it harder to located the document) Contrast otherwise medium Busy High for Too many contrasting objects detected in the background Background DLs, (making it harder to located the document) otherwise medium

Examples of Individual Mobile Defects

FIG. 3 illustrates an image which is out of focus (OOF) and would be identified with an OOF IQA test. The algorithm may be modified to be computed only “on characters”. This means that a special filter is used to detect positions of text characters, which then are used in the computation while the other areas are ignored. FIG. 3 illustrates an example of poor OOF (OOF score=90).

Reflection IQA testing doesn't work well on the image level and needs to be “localized” to the field level.

FIG. 4A illustrates an image of a document with poor plain skew (IQA=200), while FIG. 4B illustrates an image of a document with a view skew.

FIG. 5A illustrates an image with low contrast (specifically a low contrast IQA=210). This IQA should not be confused with Low Contrast background: the former describes contrasts inside the document whereas the latter outside (between the document and background). FIG. 5B illustrates an image which suffers from darkness, and therefore has a darkness IQA score of 290.

FIG. 6A illustrates an image of a document with cut corners, receiving a score of 900. FIG. 6B illustrates an image of a document with a warped image, receiving a warpage score of 0.

These IQA scores may be averaged or combined to determine a total score or weighted depending on the relevance of a particular IQA test. Nevertheless, a simple threshold value may be set to determine whether the image has sufficient quality to proceed to the document usability tests.

IV. Compound IQA Scores

Embodiments of the invention use individual mobile IQA scores to automatically create two compound IQA scores which will ensure that the mobile document could be detected in the mobile image as well as that the document is fully legible. The first compound IQAs will be titled “Crop IQA” and “Quality IQA.”

Benefits of Compound IQAs Over “Individual” IQAs

Simplicity: There are more than a dozen of individual IQAs and in essence they are being replaced by 2 compounded ones: “crop” and “quality”. It's much better to move two dials than a dozen.

Eliminating wrong messages: In reality, some individual IQAs are strongly correlated between themselves and with other defects. For example, shadow and darkness (2 different IQAs) may cause low OOF (another IQA) as also can small image (yet another IQA); wrong crop (has its own IQA) can cause wrong identification and therefore present the image as “unsupported” and so on. By compounding related IQAs we avoid potential misclassifications and get rid of this hierarchy and thresholds altogether. MIP will have a much smaller set of thresholds (3) and the error classifier will be well-tested and optimized in R&D.

Description of Compound IQA Scores

The compound IQA scores are linear combinations of individual IQA score. The coefficients in combination depend on application as different individual IQA score have different importance for different document categories, see table 2.

V. Document Usability

Embodiments of the MDIQU system provide document usability testing to ensure that the document within the image is indeed a check, a bill, a driver's license etc.

The following categories may be supported: US Checks (Mobile Deposit), Remittance Coupon (Mobile Bill Pay), Credit Card Bills (Mobile Balance Transfer), and Driver's License (Mobile Insurance).

Definition of Critical Fields

The usability testing is based on a definition of Critical (or Required) Fields, see FIG. 1. If the fields are not specified, the following ones are used by default.

Document Application Category Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Mobile Checks MICR Legal Courtesy Endorsement Deposit Amount Amount Mobile Bill Remittance Account Payee.ZIP Biller Pay Coupons Number Name Balance Credit Card Account Payee.ZIP Biller Balance Transfer Bills Number Name Due Mobile Driver DL Name Address DoB Class Sex Expiration Insurance License's Number Date

Computation of Usability Score

The usability computation involves data capture from the document image cropped out of the mobile image. Present MDIQU system uses a Mobile Preprocessing Engine and Dynamic Data Capture engine described in U.S. Pat. No. 8,379,914, which is incorporated herein by reference in its entirety.

The Document usability score is computed based on the set of captured critical fields or/and the confidence of each of such fields. As with the image quality test, the document usability tests results in a yes or no answer to the question of whether the document is usable, and will then further analyze the response to assign a grade value to the document based on how usable (or un-usable) it is.

Computer-Implemented Embodiment

FIG. 7 is a block diagram that illustrates an embodiment of a computer/server system 700 upon which an embodiment of the inventive methodology may be implemented. The system 700 includes a computer/server platform 701 including a processor 702 and memory 703 which operate to execute instructions, as known to one of skill in the art. The term “computer-readable storage medium” as used herein refers to any tangible medium, such as a disk or semiconductor memory, that participates in providing instructions to processor 702 for execution. Additionally, the computer platform 701 receives input from a plurality of input devices 704, such as a keyboard, mouse, touch device or verbal command. The computer platform 701 may additionally be connected to a removable storage device 705, such as a portable hard drive, optical media (CD or DVD), disk media or any other tangible medium from which a computer can read executable code. The computer platform may further be connected to network resources 706 which connect to the Internet or other components of a local public or private network. The network resources 706 may provide instructions and data to the computer platform from a remote location on a network 707. The connections to the network resources 706 may be via wireless protocols, such as the 802.11 standards, Bluetooth® or cellular protocols, or via physical transmission media, such as cables or fiber optics. The network resources may include storage devices for storing data and executable instructions at a location separate from the computer platform 701. The computer interacts with a display 708 to output data and other information to a user, as well as to request additional instructions and input from the user. The display 708 may therefore further act as an input device 704 for interacting with a user.

While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not of limitation. The breadth and scope should not be limited by any of the above-described exemplary embodiments. Where this document refers to technologies that would be apparent or known to one of ordinary skill in the art, such technologies encompass those apparent or known to the skilled artisan now or at any time in the future. In addition, the described embodiments are not restricted to the illustrated example architectures or configurations, but the desired features can be implemented using a variety of alternative architectures and configurations. As will become apparent to one of ordinary skill in the art after reading this document, the illustrated embodiments and their various alternatives can be implemented without confinement to the illustrated example. One of ordinary skill in the art would also understand how alternative functional, logical or physical partitioning and configurations could be utilized to implement the desired features of the described embodiments.

Furthermore, although items, elements or components may be described or claimed in the singular, the plural is contemplated to be within the scope thereof unless limitation to the singular is explicitly stated. The presence of broadening words and phrases such as “one or more,” “at least,” “but not limited to” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent. 

What is claimed is:
 1. A method comprising using at least one hardware processor to: receive an image captured by a mobile device; for each of a plurality of image quality assurance (IQA) tests, execute the IQA test on the image to produce an individual IQA score; compute at least one compound IQA score based on the individual IQA scores; when the at least one compound IQA score does not satisfy a threshold, reject the image for further processing; and, when the at least one compound IQA score satisfies the threshold, determine a usability score based on a set of data fields that are extracted from the image, and accept or reject the image for further processing based on the usability score.
 2. The method of claim 1, wherein the at least one compound IQA score comprises two compound IQA scores.
 3. The method of claim 2, wherein the two compound IQA scores comprise a quality score and a crop score.
 4. The method of claim 1, wherein the at least one compound IQA score consists of a quality score and a crop score.
 5. The method of claim 1, further comprising using the at least one hardware processor to classify the image into one of a plurality of ranks, wherein rejecting the image for further processing comprises classifying the image into a lower one of the plurality of ranks, and wherein accepting the image for further processing comprises classifying the image into a higher one of the plurality of ranks.
 6. The method of claim 1, further comprising using the at least one hardware processor to, when accepting the image for further processing, transmit the image to an application server.
 7. The method of claim 1, wherein determining the usability score comprises: cropping a document snippet from the image, wherein the document snippet represents a document in the image; extracting the set of data fields from the document snippet; and computing the usability score based on a confidence level that the set of data fields can be read.
 8. The method of claim 7, wherein determining the usability score further comprises: determining a category of document in the document snippet; and identifying the set of data fields to be extracted from the document snipped based on the determined category of document.
 9. The method of claim 1, wherein accepting or rejecting the image for further processing based on the usability score comprises: when the usability score satisfies a usability threshold, accepting the image for further processing; and, when the usability score does not satisfy the usability threshold, rejecting the image for further processing.
 10. The method of claim 1, wherein each of the plurality of IQA tests outputs an individual IQA score that represents one of a plurality of image deficiencies that is different than the plurality of image deficiencies for which an individual IQA score is output by others of the plurality of IQA tests.
 11. The method of claim 10, wherein the plurality of image deficiencies comprises two or more of the image is out-of-focus, the image contains a shadow, the image is too small in size, the image contains a reflection, the image has low internal contrast, the image is too dark, the image has plain skew, the image has view skew, the image has cut corners, the image has warpage, the image has low external contrast, or the image has a busy background.
 12. The method of claim 1, wherein one of the plurality of IQA tests comprises: generating a grey-scale snippet of the image; computing a frequency of high-contrast local areas in the grey-scale snippet; and generating an individual IQA score, based on the computed frequency, that indicates whether the image is out of focus.
 13. The method of claim 1, wherein one of the plurality of IQA tests comprises: generating a grey-scale snippet of the image; breaking the grey-scale snippet into two areas of different brightness; determining a delta in brightness between the two areas and a size of a darker one of the two areas; and generating an individual IQA score, based on the determined delta and size, that indicates whether the image contains a shadow.
 14. The method of claim 1, wherein one of the plurality of IQA tests comprises: generating a grey-scale snippet of the image; generating a histogram representing brightness of pixels in the grey-scale snippet; and generating an individual IQA score, based on the histogram, that indicates whether the image has low internal contrast.
 15. The method of claim 1, wherein one of the plurality of IQA tests comprises: generating a grey-scale snippet of the image; generating a histogram representing brightness of pixels in the grey-scale snippet; generating a weighted average grey-scale value based on the histogram; and generating an individual IQA score, based on the weighted average grey-scale value, that indicates a darkness of the image.
 16. The method of claim 1, wherein one of the plurality of IQA tests comprises: detecting how many corners of a document in the image are not present in the image; for each corner detected as not present in the image, computing a size of the corner that is missing from the image, and computing a penalty based on the computed size; and generating an individual IQA score, based on any computed penalties, that indicates a substantiality of missing corners of the document in the image.
 17. The method of claim 1, wherein one of the plurality of IQA tests comprises: cropping a document snippet from the image, wherein the document snippet represents a document within the image; and generating an individual IQA score that indicates a ratio between a size of the document snippet and a size of the image.
 18. The method of claim 1, wherein one of the plurality of IQA tests comprises: cropping a document snippet from the image, wherein the document snippet represents a document within the image; computing a measure of deviation between sides of the document snippet and ideal straight lines; and generating an individual IQA score, based on the measure of deviation, that indicates how warped the document is within the image.
 19. A system comprising: at least one hardware processor; and software instructions configured to, when executed by the at least one hardware processor, receive an image captured by a mobile device, for each of a plurality of image quality assurance (IQA) tests, execute the IQA test on the image to produce an individual IQA score, compute at least one compound IQA score based on the individual IQA scores, when the at least one compound IQA score does not satisfy a threshold, reject the image for further processing, and, when the at least one compound IQA score satisfies the threshold, determine a usability score based on a set of data fields that are extracted from the image, and accept or reject the image for further processing based on the usability score.
 20. A non-transitory computer-readable medium having instructions stored therein, wherein the instructions, when executed by a processor, cause the processor to: receive an image captured by a mobile device; for each of a plurality of image quality assurance (IQA) tests, execute the IQA test on the image to produce an individual IQA score; compute at least one compound IQA score based on the individual IQA scores; when the at least one compound IQA score does not satisfy a threshold, reject the image for further processing; and, when the at least one compound IQA score satisfies the threshold, determine a usability score based on a set of data fields that are extracted from the image, and accept or reject the image for further processing based on the usability score. 